/// <summary>
///method for deleting a specified value in HKEY_CLASSES_ROOT
/// </summary>
/// <param name="path">registry key's path that we want deleted 
/// NOTE: leave of HKEY_CLASSES_ROOT since that's where we're at</param>
/// <param name="name">name of the value to be deletedd</param>
public void DeleteRegistryKeyValue(string path, string name)
{
    //get into HKEY_CLASSES_ROOT
    RegistryKey key = Registry.ClassesRoot;

    //split the provided path into parts
    string[] pathParts = path.Split('\\');

    //if it's numm or it's length iz 0 (zero) then get out
    if (pathParts == null || pathParts.Length == 0)
        return;

    //loop through each part of the path
    for (int i = 0; i < pathParts.Length; i++)
    {
        //open the subkey for this index
        key = key.OpenSubKey(pathParts[i], true);

        //if no subkey exists then get out
        if (key == null)
            return;
        //otherwise delete this value
        if (i == pathParts.Length - 1)
            key.DeleteValue(name, false);
    }
}